Couple months ago I was informed that we will take over mobile apps project which is currently using Native language for iOS an Android, and they plan to port it with React Native. I'm expected to handle team for knowledge transfer transition from current team to the new team, understanding the requirement, and plan for the delivery.
Since I'm quite new with mobile development, so it's quite challenging for me. I did some research about what's it all about. It starts from the definition of Native and Reach Native itself. So, here's the summary that I get.
- Native application or shortly called as "Native app" is application program developed for specific platform and it's written using specific programming language. In current mobile development, there's 2 popular platform which is iOS and Android. iOS IDE can use Xcode and the language can be either Objective-C or Swift. Meanwhile for Android IDE can use Android Studio and the language can be either Java or Kotlin.
- React Native is Facebook open source framework that bring web development concept into mobile development. The development can use Javascript, and with one development can use for both iOS and Android.
Here's the pro(s) and con(s):
Native
- Pros: API support and third party libraries support. All API functionality offered by platform can be accessed, and the community is quite big and establish so there's many options and variety to use the 3rd party libraries out there.
- Cons: More effort on development & maintenance. It will need more resource to develop and maintenance the application on each platform, because each platform will have different application. "
- Pros: One code base for all platforms. Because it's using web concept, there's only single code for all platforms. So it's can save resource on development and maintenance. React native also comes with Hot Reloading feature that show the change immediately to speed up development.
- Cons: "Still" not support all API, and lesser third party libraries. React Native is currently not support all API modules, but thanks to the Native Modules we can call almost all popular API. And since it's quite new concept, the community is still growing. So expect to have lesser 3rd party libraries.
The decision whether you want to use Native or React Native can always refer to project goal and condition (e.g. timeline, cost planning, or the team condition itself).
Post a Comment